﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ServiceModel.Channels;
using System.ComponentModel;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.UtilidadesWs;


namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class EstabelecimentoMinhasBebidas : System.Web.UI.Page
    {
        ObjetoEstabelecimento estabelecimento = new ObjetoEstabelecimento();

        Utilizadades_WS webServiceUtilidades = new Utilizadades_WS();
        PubClub_Estabelecimento_WS webServiceEstabelecimento = new PubClub_Estabelecimento_WS();

        TableHeaderRow linhaCabecalhoBebida = new TableHeaderRow();

        TableHeaderCell celulaCabecalhoNomeBebida = new TableHeaderCell();
        Label labelNomeBebida = new Label();

        TableHeaderCell celulaCabecalhoAcao = new TableHeaderCell();
        Label labelAcao = new Label();

        BindingList<ObjetoBebidaEstabelecimento> listaDeBebidasDoEstabelecimento;

        ObjetoRetornoBebidaEstabelecimento retornoExcluirBebidaEstabelecimento;     


        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.QueryString["Sucesso"] == "1")
            {
                LabelAviso.Text = "Bebida excluída do catálogo com sucesso.";
                LabelAviso.ForeColor = System.Drawing.Color.Green;
                LabelAviso.Visible = true;
            }
            
            
            if (Session["Estabelecimento"] == null)
            {
                Response.Redirect("Login.aspx?Logout=2");
            }
            else
            {
                estabelecimento = webServiceEstabelecimento.GetEstabelecimento(Convert.ToInt32(Session["Estabelecimento"]));
            }

            listaDeBebidasDoEstabelecimento = new BindingList<ObjetoBebidaEstabelecimento>(webServiceUtilidades.ListaBebidaCatalogoByEstabelecimento(estabelecimento.EstabelecimentoId));

            if (listaDeBebidasDoEstabelecimento.Count == 0)
            {
                LabelAviso.Text = "Não existem bebidas cadastradas.";
                LabelAviso.ForeColor = System.Drawing.Color.Red;
                LabelAviso.Visible = true;
                return;
            }
            else
            {
                TabelaBebidas.Visible = true;

                labelNomeBebida.Text = "Bebida";
                celulaCabecalhoNomeBebida.Controls.Add(labelNomeBebida);
                linhaCabecalhoBebida.Cells.Add(celulaCabecalhoNomeBebida);

                labelAcao.Text = "Ação";
                celulaCabecalhoAcao.Controls.Add(labelAcao);
                linhaCabecalhoBebida.Cells.Add(celulaCabecalhoAcao);

                TabelaBebidas.Rows.Add(linhaCabecalhoBebida);

                if (Request.QueryString["Excluir"] != null)
                {
                    int idBebidaEstabelecimento = Convert.ToInt32(Request.QueryString["Excluir"]);
                    retornoExcluirBebidaEstabelecimento = webServiceUtilidades.DeleteBebidaCatalogo(idBebidaEstabelecimento);

                    if (retornoExcluirBebidaEstabelecimento.Sucesso == true)
                    {

                        Response.Redirect("EstabelecimentoMinhasBebidas.aspx?Sucesso=1");
                       
                    }
                    else
                    {
                        LabelAviso.Text = retornoExcluirBebidaEstabelecimento.Menssagem;
                        LabelAviso.ForeColor = System.Drawing.Color.Red;
                        LabelAviso.Visible = true;

                    }
                   

                }

                int i = 0;

                foreach (var item in listaDeBebidasDoEstabelecimento)
                {
                    TableRow linha2 = new TableRow();
                    if (i % 2 != 0)
                    {
                        linha2.CssClass = "odd";
                    }
                    TableCell celulaNomeBebida2 = new TableCell();
                    Label labelNomeBebida2 = new Label();
                    TableCell celulaAcao2 = new TableCell();

                    i++;

                    labelNomeBebida2.Text = webServiceUtilidades.GetBebidaById(item.BebidaId).Descricao;
                    celulaNomeBebida2.Controls.Add(labelNomeBebida2);
                    linha2.Cells.Add(celulaNomeBebida2);

                    ImageButton imageButtonLixeira = new ImageButton();
                    imageButtonLixeira.ImageUrl = "../Imagens/IconeInativar.png";                   
                    imageButtonLixeira.PostBackUrl = "EstabelecimentoMinhasBebidas.aspx?excluir=" + item.Id;
                    imageButtonLixeira.ToolTip = "Remover bebida do catálogo.";
                    celulaAcao2.Controls.Add(imageButtonLixeira);
                    linha2.Cells.Add(celulaAcao2);

                    TabelaBebidas.Rows.Add(linha2);

                }

                LabelCountBebida.Visible = true;
                LabelCountBebida.Text = "Total de bebidas: " + listaDeBebidasDoEstabelecimento.Count;
                
            }



        }
    }
}